package com.ideaaedi.zoo.diy.artifact.auth.satoken.properties.nested;

import cn.dev33.satoken.error.SaErrorCode;
import com.ideaaedi.zoo.commonbase.component.auth.AuthUrlWhitelist;
import com.ideaaedi.zoo.commonbase.entity.codemsg.CodeMsgProvider;
import lombok.Data;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 基础鉴权配置
 */
@Data
public class ZooAuthBasic implements AuthUrlWhitelist {
    
    /**
     * 是否对那些认证之后的请求，再进行鉴权
     */
    private boolean validUrlPermit = true;
    
    /**
     * 可以无需token的url白名单
     */
    private List<String> urlWhitelist;
    
    /**
     * 错误信息转义
     * <pre>
     * key：sa_token错误码， 详见 {@link SaErrorCode}
     * value：本系统的错误码，格式为：枚举全类名.枚举值
     * </pre>
     */
    private Map<Integer, CodeMsgProvider> errorMapping;
    
    @Override
    public boolean validUrlPermit() {
        return validUrlPermit;
    }
    
    @Override
    public Collection<String> whitelist() {
        return urlWhitelist;
    }
}
